Thema Datum  Von Nutzer Rating
Antwort
Rot An Function Variablen übergeben -->Verarbeitung-->Rückgabe des Ergebnisses
02.01.2012 20:22:57 joerg
NotSolved
02.01.2012 20:50:00 Holger
*****
Solved
03.01.2012 23:16:48 joerg
Solved

Ansicht des Beitrags:
Von:
joerg
Datum:
02.01.2012 20:22:57
Views:
2288
Rating: Antwort:
  Ja
Thema:
An Function Variablen übergeben -->Verarbeitung-->Rückgabe des Ergebnisses

Hallo, ich habe zwar schon Erfahrung in VBA für Excel 2003 - aber eine Function habe ich noch nie benutzt. Um sich wiederholende Rechenschritte zu vereinfachen möchte ich eine Function verwenden.

Folgendes Beispiel soll exemplarisch zu meinem Verständnis dienen:

An die Function soll folgendes übergeben werden: 2 Datenfelder x(n), y(n) und die Variable n.

Dann werden die Produkte x(i)*y(i) gebildet und anschließend aufsummiert und dann dem Functionnamen "zui" übergeben. Der Wert der Function zui soll der Variable "erg" im Hauptprogramm übergeben werden. Leider bekomme ich es nicht zum Laufen - vorher habe ich noch nie eine Function verwendet. Muß ich i in der Function deklarieren?

Option Base 1
Sub test()
Dim i, n, erg, x(), y() As Integer

'Anzahl der Wertepaare
n = UsedRange.Rows.Count

'wegen Spaltenüberschriften
n = n - 1

Redim x(n), y(n) as Integer

'Startzelle
m = 2

'einlesen
For i = 1 To n
    x(i) = Cells(m + i - 1, 3)
    y(i) = Cells(m + i - 1, 4)
Next


'Functionaufruf
erg=Function zui(x(n), y(n),n) as Integer

MsgBox(erg)

End Sub

Function zui(ByVal a(n), b(n) )As Integer
Dim i As Integer
For i = 1 To n
    prodsum(i) = a(i) * b(i)
Next
For i = 1 To n - 1
    prodsum(i + 1) = prodsum(i + 1) + prodsum(i)
Next
i = i - 1
zui = prodsum(i + 1)
End Function

Über Hilfe würde ich mich sehr freuen.

Viele Grüße, Jörg

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot An Function Variablen übergeben -->Verarbeitung-->Rückgabe des Ergebnisses
02.01.2012 20:22:57 joerg
NotSolved
02.01.2012 20:50:00 Holger
*****
Solved
03.01.2012 23:16:48 joerg
Solved